之前因為可能因為需要使用收集的資料作分析,所以做了一個使用 Django來生成excel檔案的功能,程式碼如下
def excel_export(request):
"""
匯出excel表格
"""
list_obj = MachineParameters.objects.all().order_by("id")
if list_obj:
# 建立工作薄
ws = Workbook(encoding='utf-8')
w = ws.add_sheet(u"sheet1")
w.write(0, 0, u"id")
w.write(0, 1, u"Oil_Temp_Current_Val")
#中間跳過
w.write(0, 7, u"OilTempCurrentValPhase5")
w.write(0, 8, u"totalGoodProductionNumber")
# 寫入資料
excel_row = 1
for obj in list_obj:
data_id = obj.id
Oil_Temp_Current_Val = obj.Oil_Temp_Current_Val
totalProductionNumber = obj.totalProductionNumber
#中間跳過
w.write(excel_row, 7, OilTempCurrentValPhase5)
w.write(excel_row, 8, totalGoodProductionNumber)
excel_row += 1
# 檢測檔案是夠存在
# 方框中程式碼是儲存本地檔案使用,如不需要請刪除該程式碼
###########################
exist_file = os.path.exists("test.xls")
if exist_file:
os.remove(r"test.xls")
ws.save("test.xls")
############################
output = BytesIO()
ws.save(output)
output.seek(0)
response = HttpResponse(output.getvalue(), content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename=MachineParameters.xls'
response.write(output.getvalue())
return response
這個功能基本算是直接 copy 內容農場的程式碼, 沒辦法,功能方面剛好符合我的需求
使用來源:python (django)匯出資料庫中的資訊為excel表格
這邊有稍微進階一點的,有興趣可以參考一下。
django 一鍵生成excel表格並下載到本地,並根據時間刪除檔案,上傳excel檔案
有時候內容農場的技術文也真的能幫上點忙就是了。